from django.db import models
from django.contrib.auth import get_user_model
User = get_user_model()
# Create your models here.


class Inspection(models.Model):
    A001 = models.CharField(max_length=13, primary_key=True,verbose_name='品质编号')
    A002 = models.DateTimeField(null=True, auto_now_add=True,verbose_name='报检时间')
    F001 = models.CharField(max_length=10, null=True, blank=True,verbose_name='报检人')
    B001 = models.CharField(max_length=10, null=True,verbose_name='检测类别')
    B002 = models.CharField(max_length=10, null=True,verbose_name='等级')
    B003 = models.CharField(max_length=4, null=True,verbose_name='包装外观 外箱')
    B004 = models.CharField(max_length=4, null=True,verbose_name='包装外观 唛头')
    B005 = models.CharField(max_length=10, null=True,verbose_name='检测项目 选项')
    B006 = models.CharField(max_length=100, null=True,verbose_name='检测项目 说明')
    B007 = models.CharField(max_length=15, null=True,verbose_name='紧急程度')
    B009 = models.CharField(max_length=15, null=True,verbose_name='单位')
    B010 = models.CharField(max_length=15, null=True,verbose_name='进料数量')
    B011 = models.CharField(max_length=15, null=True,verbose_name='规格')
    B012 = models.CharField(max_length=15, null=True,verbose_name='产品型号')
    B013 = models.DateTimeField(null=True,verbose_name='到货时间')

    B008 = models.BooleanField(default=False,verbose_name='检验标识')  # 状态位，表示是否检验，默认没有检验

    class Meta:
        verbose_name = '报检信息'
        verbose_name_plural = verbose_name


class QualityBase(models.Model):
    A001 = models.CharField(max_length=13, primary_key=True,verbose_name='品质编号')  # 品质编号：PZ + 时间 + 序号
    D017 = models.FloatField(null=True,verbose_name='检测数量')  #
    D018 = models.DateTimeField(null=True,verbose_name='检测时间')  #

    D019 = models.CharField(max_length=10, null=True,verbose_name='基材')
    D020 = models.CharField(max_length=10, null=True,verbose_name='基材颜色')
    D021 = models.CharField(max_length=10, null=True,verbose_name='类别')
    D022 = models.CharField(max_length=10, null=True,verbose_name='胶系')
    D023 = models.CharField(max_length=4, null=True,verbose_name='是否防静电')
    class Meta:
        verbose_name = '基础信息'
        verbose_name_plural = verbose_name


# 外观检
class QualityAppearance(models.Model):
    A001 = models.CharField(max_length=13, primary_key=True)  # 品质编号：PZ + 时间 + 序号
    D024 = models.CharField(max_length=4, null=True)  # 母卷外表
    D025 = models.CharField(max_length=4, null=True)  # 管芯规格 管芯颜色是否符合
    D026 = models.FloatField(default=0)  # 管芯规格 管芯内径 数值
    D027 = models.CharField(max_length=4, null=True)  # 管芯规格 管芯内径 标准
    D028 = models.FloatField(default=0)  # 管芯规格 管芯厚度 数值
    D029 = models.CharField(max_length=4, null=True)  # 管芯规格 管芯厚度 标准
    D030 = models.CharField(max_length=4, null=True)  # 管芯规格 管芯端口
    D031 = models.CharField(max_length=4, null=True)  # 管芯规格 管芯脏污

    D032 = models.IntegerField(null=True)  # 膜材尺寸规格 长度m
    D033 = models.FloatField(default=0)  # 膜材尺寸规格 宽度mm
    D034 = models.FloatField(default=0)  # 膜材尺寸规格 厚度 PE(平均值) 总厚度mm
    D035 = models.FloatField(default=0)  # 膜材尺寸规格 厚度 PE(平均值) 头
    D036 = models.FloatField(default=0)  # 膜材尺寸规格 厚度 PE(平均值) 中
    D037 = models.FloatField(default=0)  # 膜材尺寸规格 厚度 PE(平均值) 尾
    D038 = models.FloatField(default=0)  # 膜材尺寸规格 厚度 PET/PVC 总厚度mm
    D039 = models.FloatField(default=0)  # 膜材尺寸规格 厚度 PET/PVC 基材胶水
    D040 = models.FloatField(default=0)  # 膜材尺寸规格 厚度 PET/PVC 离型膜
    D041 = models.FloatField(default=0)  # 膜材尺寸规格 厚度 PET/PVC 复贴膜
    D042 = models.IntegerField(default=0)  # 膜面外观 涂布膜面瑕疵(熟化前,复压后,平均值) 黑点
    D043 = models.IntegerField(default=0)  # 膜面外观 涂布膜面瑕疵(熟化前,复压后,平均值) 气泡
    D044 = models.CharField(max_length=4, null=True)  # 膜面外观 涂布膜面瑕疵(熟化前,复压后,平均值) 拉丝
    D045 = models.IntegerField(default=0)  # 膜面外观 黑点异物(个)(每个检验批抽样5%) Ø ≤ 0.15mm
    D046 = models.IntegerField(default=0)  # 膜面外观 黑点异物(个)(每个检验批抽样5%) 0.15mm ＜ Ø ≤ 0.2mm
    D047 = models.IntegerField(default=0)  # 膜面外观 黑点异物(个)(每个检验批抽样5%) Ø > 0.2mm
    D048 = models.IntegerField(default=0)  # 膜面外观 晶点(个) 0.2mm ＜ D ≤ 0.3mm
    D049 = models.IntegerField(default=0)  # 膜面外观 晶点(个) 0.3mm ＜ D ≤ 0.4mm
    D050 = models.IntegerField(default=0)  # 膜面外观 晶点(个) D > 0.4mm
    D051 = models.IntegerField(default=0)  # 膜面外观 气泡/玻璃(个)(每个检验批抽样5%) 0.15mm ＜ D ≤ 0.5mm
    D052 = models.IntegerField(default=0)  # 膜面外观 气泡/玻璃(个)(每个检验批抽样5%) D > 0.5mm
    D053 = models.IntegerField(default=0)  # 膜面外观 气泡/偏光片(个)(每个检验批抽样5%) D ≤ 0.2mm
    D054 = models.IntegerField(default=0)  # 膜面外观 气泡/偏光片(个)(每个检验批抽样5%) 0.2mm ＜ D ≤ 0.3mm
    D055 = models.IntegerField(default=0)  # 膜面外观 气泡/偏光片(个)(每个检验批抽样5%) D > 0.3mm
    D056 = models.IntegerField(default=0)  # 膜面外观 贴偏光片上晶点形成的气泡(每个检验批抽样5%) 0.2mm ＜ D ≤ 0.3mm
    D057 = models.IntegerField(default=0)  # 膜面外观 贴偏光片上晶点形成的气泡(每个检验批抽样5%) D > 0.3mm

    D058 = models.CharField(max_length=4, null=True,verbose_name='拉丝')
    D059 = models.CharField(max_length=4, null=True,verbose_name='色痕')
    D060 = models.CharField(max_length=4, null=True,verbose_name='水印')
    D061 = models.CharField(max_length=4, null=True,verbose_name='流道纹')
    D062 = models.CharField(max_length=4, null=True,verbose_name='斑点')
    D063 = models.CharField(max_length=4, null=True,verbose_name='色差')
    D064 = models.CharField(max_length=4, null=True,verbose_name='白点')
    D065 = models.CharField(max_length=4, null=True,verbose_name='流涂纹')
    D066 = models.CharField(max_length=4, null=True,verbose_name='擦痕')
    D067 = models.CharField(max_length=4, null=True,verbose_name='雾斑')
    D068 = models.CharField(max_length=4, null=True,verbose_name='异味')
    D069 = models.CharField(max_length=4, null=True,verbose_name='褶皱')
    D070 = models.CharField(max_length=4, null=True,verbose_name='破损')
    D071 = models.CharField(max_length=4, null=True,verbose_name='网格')
    D072 = models.CharField(max_length=4, null=True,verbose_name='切割端面')

    D073 = models.CharField(max_length=30, null=True,verbose_name='鼓包 Ø＜1.0mm')  # 膜面外观
    D074 = models.CharField(max_length=30, null=True,verbose_name='鼓包 1.0mm＜Ø≤1.5mm')  # 膜面外观
    D075 = models.CharField(max_length=30, null=True,verbose_name='鼓包 Ø>1.5mm')  # 膜面外观

    class Meta:
        verbose_name = '外观检'
        verbose_name_plural = verbose_name


# 实验检
class QualityPhysics(models.Model):
    A001 = models.CharField(max_length=13, primary_key=True)  # 品质编号：PZ + 时间 + 序号
    D076 = models.FloatField(default=0)  # 力学特性 180°剥离力(g/25mm；取测试平均值) 拉丝钢板
    D077 = models.FloatField(default=0)  # 力学特性 180°剥离力(g/25mm；取测试平均值) 镜面光板
    D078 = models.FloatField(default=0)  # 力学特性 180°剥离力(g/25mm；取测试平均值) 光学玻璃(非PET) 常规测试
    D079 = models.FloatField(default=0)  # 力学特性 180°剥离力(g/25mm；取测试平均值) 光学玻璃(非PET) 常温72小时 测试1
    D080 = models.FloatField(default=0)  # 力学特性 180°剥离力(g/25mm；取测试平均值) 光学玻璃(非PET) 常温72小时 测试2
    D081 = models.FloatField(default=0)  # 力学特性 180°剥离力(g/25mm；取测试平均值) 光学玻璃(非PET) 常温72小时 测试3
    D082 = models.FloatField(default=0)  # 力学特性 180°剥离力(g/25mm；取测试平均值) 光学玻璃(非PET) 常温72小时 测试4
    D083 = models.FloatField(default=0)  # 力学特性 180°剥离力(g/25mm；取测试平均值) 光学玻璃(非PET) 后期重压 测试1
    D084 = models.FloatField(default=0)  # 力学特性 180°剥离力(g/25mm；取测试平均值) 光学玻璃(非PET) 后期重压 测试2
    D085 = models.FloatField(default=0)  # 力学特性 180°剥离力(g/25mm；取测试平均值) 光学玻璃(非PET) 后期重压 测试3
    D086 = models.FloatField(default=0)  # 力学特性 180°剥离力(g/25mm；取测试平均值) 光学玻璃(非PET) 后期重压 测试4
    D087 = models.FloatField(default=0)  # 力学特性 180°剥离力(g/25mm；取测试平均值) 光学玻璃(非PET) 后期重压 测试5
    D088 = models.FloatField(default=0)  # 力学特性 180°剥离力(g/25mm；取测试平均值) 光学玻璃(非PET) 后期重压 测试6
    D089 = models.FloatField(default=0)  # 力学特性 180°剥离力(g/25mm；取测试平均值) 光学玻璃(PET)
    D090 = models.FloatField(default=0)  # 力学特性 180°剥离力(g/25mm；取测试平均值) 亚克力板
    D091 = models.FloatField(default=0)  # 力学特性 180°剥离力(g/25mm；取测试平均值) 偏光片 常温24H
    D092 = models.FloatField(default=0)  # 力学特性 180°剥离力(g/25mm；取测试平均值) 偏光片 40℃ - 48H
    D093 = models.FloatField(default=0)  # 力学特性 180°剥离力(g/25mm；取测试平均值) 偏光片 UV(40℃-48H)
    D094 = models.CharField(max_length=100, null=True)  # 力学特性 180°剥离力(g/25mm；取测试平均值) 客户板材 测试1
    D095 = models.CharField(max_length=100, null=True)  # 力学特性 180°剥离力(g/25mm；取测试平均值) 客户板材 测试2
    D096 = models.CharField(max_length=100, null=True)  # 力学特性 180°剥离力(g/25mm；取测试平均值) 客户板材 测试3

    D097 = models.FloatField(default=0)  # 力学特性 断裂伸长率(kg/cm2) MD
    D098 = models.FloatField(default=0)  # 力学特性 断裂伸长率(kg/cm2) TD
    D099 = models.FloatField(default=0)  # 力学特性 拉伸强度(kg/cm2) MD
    D100 = models.FloatField(default=0)  # 力学特性 拉伸强度(kg/cm2) TD

    D101 = models.FloatField(default=0)  # 力学特性 初粘力(#)
    D102 = models.FloatField(default=0)  # 力学特性 持粘力
    D103 = models.FloatField(default=0)  # 力学特性 吸附性(S)

    D104 = models.FloatField(default=0)  # 光学特征 色度
    D105 = models.FloatField(default=0)  # 光学特征 透光率(%)
    D106 = models.FloatField(default=0)  # 光学特征 雾度(%)

    D107 = models.CharField(max_length=255, null=True)  # 应用特性 可靠性 光学玻璃 测试条件 温度
    D108 = models.CharField(max_length=100, null=True)  # 应用特性 可靠性 光学玻璃 测试条件 湿度
    D109 = models.CharField(max_length=100, null=True)  # 应用特性 可靠性 光学玻璃 测试条件 时间
    D110 = models.CharField(max_length=2, null=True)  # 起雾
    D111 = models.CharField(max_length=2, null=True)  # 残胶
    D112 = models.CharField(max_length=2, null=True)  # 卷曲
    D113 = models.CharField(max_length=2, null=True)  # 变形
    D114 = models.CharField(max_length=2, null=True)  # 气泡转移
    D115 = models.CharField(max_length=2, null=True)  # 亮点转移
    D116 = models.CharField(max_length=2, null=True)  # 拉丝转移
    D117 = models.CharField(max_length=2, null=True)  # 其他

    D118 = models.CharField(max_length=255, null=True)  # 应用特性 可靠性 亚克力板 测试条件 温度
    D119 = models.CharField(max_length=100, null=True)  # 应用特性 可靠性 亚克力板 测试条件 湿度
    D120 = models.CharField(max_length=100, null=True)  # 应用特性 可靠性 亚克力板 测试条件 时间
    D121 = models.CharField(max_length=2, null=True)  # 起雾
    D122 = models.CharField(max_length=2, null=True)  # 残胶
    D123 = models.CharField(max_length=2, null=True)  # 卷曲
    D124 = models.CharField(max_length=2, null=True)  # 变形
    D125 = models.CharField(max_length=2, null=True)  # 气泡转移
    D126 = models.CharField(max_length=2, null=True)  # 亮点转移
    D127 = models.CharField(max_length=2, null=True)  # 拉丝转移
    D128 = models.CharField(max_length=2, null=True)  # 其他

    D129 = models.CharField(max_length=255, null=True)  # 应用特性 可靠性 客户板材 测试条件 温度
    D130 = models.CharField(max_length=100, null=True)  # 应用特性 可靠性 客户板材 测试条件 湿度
    D131 = models.CharField(max_length=100, null=True)  # 应用特性 可靠性 客户板材 测试条件 时间
    D132 = models.CharField(max_length=2, null=True)  # 起雾
    D133 = models.CharField(max_length=2, null=True)  # 残胶
    D134 = models.CharField(max_length=2, null=True)  # 卷曲
    D135 = models.CharField(max_length=2, null=True)  # 变形
    D136 = models.CharField(max_length=2, null=True)  # 气泡转移
    D137 = models.CharField(max_length=2, null=True)  # 亮点转移
    D138 = models.CharField(max_length=2, null=True)  # 拉丝转移
    D139 = models.CharField(max_length=2, null=True)  # 其他

    D140 = models.FloatField(default=0)  # 应用特性 翘曲度(cm)
    D141 = models.FloatField(default=0)  # 应用特性 收缩率(%)

    D142 = models.FloatField(default=0)  # 电学特性 防静电指数 非胶面
    D143 = models.FloatField(default=0)  # 电学特性 防静电指数 胶面
    D144 = models.FloatField(default=0)  # 电学特性 胶面ESD电压
    class Meta:
        verbose_name = '实验检'
        verbose_name_plural = verbose_name


# 处理意见
class Result(models.Model):
    A001 = models.CharField(max_length=13, primary_key=True)  # 品质编号：PZ + 时间 + 序号
    C001 = models.CharField(max_length=255, null=True,verbose_name='品质要点明细')
    C002 = models.CharField(max_length=100, null=True,verbose_name='再次熟化后测试 拉丝钢板(兰庆)')
    C003 = models.CharField(max_length=100, null=True,verbose_name='再次熟化后测试 镜面光板(国标)')
    C004 = models.CharField(max_length=4, null=True,verbose_name='')  # 处理意见 合格
    C005 = models.CharField(max_length=4, null=True,verbose_name='')  # 处理意见 隔离
    C006 = models.CharField(max_length=100, null=True,verbose_name='')  # 处理意见 特采 可靠性
    C007 = models.CharField(max_length=100, null=True,verbose_name='')  # 处理意见 特采 外观
    C008 = models.CharField(max_length=100, null=True,verbose_name='')  # 处理意见 特采 尺寸
    C009 = models.CharField(max_length=100, null=True,verbose_name='')  # 处理意见 特采 粘度
    C010 = models.CharField(max_length=4, null=True,verbose_name='')  # 处理意见 挑选
    C011 = models.CharField(max_length=100, null=True,verbose_name='')  # 处理意见 指定客户用(录入客户名)
    C012 = models.CharField(max_length=4, null=True,verbose_name='')  # 处理意见 待决
    C013 = models.CharField(max_length=4, null=True,verbose_name='')  # 处理意见 退回供应商
    F014 = models.CharField(max_length=10, null=True,verbose_name='决策人及意见 品质经理')
    F015 = models.CharField(max_length=10, null=True,verbose_name='决策人及意见 技术总监')
    F016 = models.CharField(max_length=10, null=True,verbose_name='决策人及意见 运营总监')
    class Meta:
        verbose_name = '处理意见'
        verbose_name_plural = verbose_name
